Broadcasting of digital radio is gradually replacing old, analog broadcasting methods. Digital radio transmissions are transmissions of computer audio files over the air. The technology of digital audio broadcasting is referred to as “DAB”.
Among the benefits of digital radio are better audio quality, better utilization of available transmission bandwidth and the ability to couple transmissions with additional data such as station identifiers and program information.
However, digital radio receivers, like the analog receivers that preceded them, often suffer from reception problems such as fading, signal distortion and/or periodic complete signal loss. These problems can be the result of, for example, electromagnetic interference, relatively large distance of receivers from a transmitter that transmits signals they receive, or faulty antenna adjustment.
Various standards provide methods for detection and “concealment” of some of the errors that occur in a transmitted digital audio signal. Among these standards are the European ETSI 300 401 v1.4.1 standard, the United States NRSC-5-A standard and the Japanese ISDB-T standard. For convenience of presentation, error detection is described herein according to the European ETSI 300 401 v1.4.1 standard (hereinafter referred to as the “DAB standard”), the disclosure of which is incorporated herein by reference.
The DAB standard introduces guidelines for broadcasting MPEG-1 Layer 2, digital audio segments, hereinafter referred to as “MP2”. MP2 is a type of computer digital audio stream compression, defined by international standard ISO/IEC 11172-3 (hereinafter referred to as the “MP2 standard”), the disclosure of which is incorporated herein by reference. The DAB standard is based largely on the MP2 standard, although it includes multiple modifications and additions to MP2, aimed at suiting MP2 for wireless transmission.
According to the DAB standard, DAB streams include a plurality of data segments, referred to as “frames”. Each frame contains data sufficient to define a different period of a plurality of sequential periods of playable sound. The length of a period of playable sound defined by data in a DAB frame depends on a sampling rate at which the playable sound is sampled to generate the data. Commonly, frames provide data for generating fractions of a second of playable sound, and the duration of playable sound encoded in a frame is inversely proportional to the data-sampling rate. For example, DAB frames characterized by sampling rates of 24 KHz or 48 KHz generally provide 48 or 24 milliseconds (“ms”) of playable sound, respectively.
Reference is now made to FIG. 1, which is a schematic illustration of a DAB frame 100, according to the DAB standard. DAB frame 100 optionally includes a sound sample portion 112 that encodes the playable sound, and multiple administrative portions.
Sound sample portion 112 generally includes 1152 frequency sub-band samples. Reference is now made to FIG. 2, which shows a more detailed schematic illustration of sound sample portion 112. Sound sample portion 112 is partitioned into 36 sound period samples 202, numbered 0 to 35, each comprising frequency domain amplitudes for 32 frequency sub-bands 204, numbered 0 to 31, for a total of 1152 frequency sub-band samples. Sound period samples 202 are divided into three temporal, sequential segments of 12 sound period samples, T-Segment A 206, T-Segment B 208 and T-Segment C 210. Samples for frequency sub-bands that are usually hardly noticeable by the human ear, such as, for example, very low frequency sub-bands denoted by the numerals 29, 30 and 31 in frequency sub-bands 204, are often dropped during encoding to save space and produce a smaller audio file. Therefore, DAB frames are usually configured to comprise less than 32 frequency sub-bands and typically comprise 27 or 29 frequency sub-bands and frequently not all of the sub-bands in these frames are used.
Referring to FIG. 1, the administrative portions of DAB frame 100 optionally include a header portion 102, a first error checking portion 104 referred to as “MP2-CRC” 104, an allocation table 106, a scale factor selection information portion 108, referred to as “SCFSI” 108, a volume scale factor portion 110, a bit stuffing portion 116, referred to as “stuff” 116, an X-PAD portion 118, a second error checking portion 120 referred to as “DAB-CRC” 120 and an F-PAD portion 130.
Header 102 marks the beginning of DAB frame 100 and includes information identifying DAB frame 100 as a DAB frame and defining various housekeeping parameters. SCFSI 108 includes information defining which scale factor of scale factor portion 110 is associated with each T-Segment. Allocation table 106 defines the bit arrangement and a number of bits allocated for each sub-band 204 in sound sample portion 112. MP2-CRC 104 generally includes information, referred to in the DAB standard as a “CRC-word”, calculated responsive to the bits (also referred to as the “protected bits”) in header 102, allocation table 106 and/or SCFSI 108 and is usable to determine if an error occurs in these portions of DAB frame 100. Calculation of the CRC-word is performed, according to the DAB standard, using a method referred to as “CRC-16”. CRC and related error detection and correction coding are described in Todd K. Moon, Error Correction Coding: Mathematical Methods and Algorithms (2005), the disclosure of which is incorporated herein by reference. MP2-CRC 104 does not enable determining an exact location and nature of an error, but only indicates possible occurrence of an error somewhere in header 102, allocation table 106 and/or SCFSI 108. For convenience of presentation, a CRC-word encoded at the time of generating a frame, such as MP2 frame 100, is referred to as an “original CRC-word”.
During the transmission of an audio stream, errors may occur in header 102, allocation table 106, SCFSI 108 and/or in the original CRC-word in MP2-CRC 104. As a result, a CRC-word, hereinafter a “received CRC-word”, included in MP2-CRC 104 when DAB frame 100 is received by a receiver, may be different than the original CRC-word and/or may not properly correspond to data in header 102, allocation table 106, and/or SCFSI 108. Presence of errors in header 102, allocation table 106 and/or SCFSI 108 of a received frame 100 are often determined by calculating a new “test CRC-word” based upon bits of header 102, allocation table 106 and SCFSI 108 in the received frame, and comparing this test CRC-word to the received CRC-word. Should the test CRC-word be identical to the received CRC-word, it is most likely that the received CRC-word and the protected bits of header 102, allocation table 106 and SCFSI 108 are error-free.
According to the MP2 standard, if an error in header 102, allocation table 106 and/or SCFSI 108 is detected, the entire DAB frame 100 is either muted or replaced with a previous, error-free, frame. Muting the entire DAB frame 100 may be performed, for example, by setting all the scale factors of volume scale factor portion 110, described in detail in the following paragraphs, to a lowest volume level.
Scale factor portion 110 includes multiple 6 bit long binary numbers indicating volumes at which playable sound encoded in sound samples portion 112 should be played. Each scale factor includes binary values on a 63-level scale, stalling with “000000” and ending with “111110”, wherein “000000” is the highest volume level and “111110” is the lowest. The binary values represent an exponential volume scale, in which each volume level is ({square root over (2)}) times higher than an immediately preceding one. Therefore, the highest volume level (000000) in the scale is approximately 1.666 million times higher than the lowest volume level (111110).
Scale factor portion 110 includes up to 96 scale factors. The actual number of scale factors is responsive to a degree of volume variance in playable sound encoded in DAB frame 100, and to the number of frequency sub-bands in the DAB frame. Generally, more scale factors are used as volume variance in the playable sound increases, and as more frequency sub-bands exist.
Each scale factor defines relative volumes for T-Segments 206, 208 and 210 (T-Segments A, B and C) of a frequency sub-band, depending on the volume pattern along the T-Segments of the frequency sub-band. The MP2 standard defines four T-Segment volume patterns that may be associated with scale factors.
1. In one volume pattern, the volumes of T-Segment A 206, T-Segment B 208 and T-Segment C 210 are identical. In this case, one scale factor defines the volumes of the three T-Segments.
2. In a second volume pattern, the volumes of T-Segment A 206 and T-Segment B 208 are identical, while the volume of T-Segment C 210 is different. In this case, one scale factor defines the volume of both T-Segment A 206 and T-Segment B 208, and one scale factor defines the volume of T-Segment C 210.
3. In a third volume pattern, the volumes of T-Segment B 208 and T-Segment C 210 are identical, while the volume of T-Segment A 206 is different. In this case, one scale factor defines the volume of both T-Segment B 208 and T-Segment C 210, and one scale factor defines the volume of T-Segment A 206.
4. In a fourth volume pattern, the volumes of T-Segment A 206, T-Segment B 208 and T-Segment C 210 are different. In this case, a different scale factor defines the volume of each of the three T-Segments.
Stuff 116 comprises filler bits that fill up space reserved for data that is used in MP2 frames but generally not in standard DAB frames.
X-PAD 118 and F-PAD 130 include program-associated data (“PAD”), such as information about the broadcasting radio station, the current radio program and/or the song currently playing. PAD is stored in F-PAD 130, and if the PAD exceeds the size of F-PAD 130, X-PAD 118 is utilized for storing the remainder of the PAD, up to the size reserved for X-PAD 118.
DAB-CRC 120 includes two or four CRC-words, calculated using CRC-16, responsive to the three most significant bits (“MSb”) of each of the scale factors of scale factor portion 110. DAB-CRC 120 contains two CRC-words if the sampling rate of the DAB stream is 48 KHz and its bitrate is less than 56 Kbps (kilobits per second). Otherwise, DAB-CRC 120 contains four CRC-words. For convenience of discussion, the following description assumes a DAB-CRC having four CRC-words, denoted DAB-CRC1 122, DAB-CRC2 124, DAB-CRC3 126 and DAB-CRC4 128.
DAB-CRC1 122 protects the scale factors of frequency sub-bands 204 numbered 0-3 (FIG. 2), DAB-CRC2 124 protects the scale factors of frequency sub-bands 204 numbered 4-7, DAB-CRC3 126 protects the scale factors of frequency sub-bands 204 numbered 8-15 and DAB-CRC4 128 protects the scale factors of frequency sub-bands 204 numbered 16-26. An error in a scale factor in a DAB stream frame can generate noticeable and annoying noise in sound played responsive to the DAB stream and audio players optimized for playing DAB streams generally provide for concealing and/or repairing such errors.
However, there exists a relatively large inventory of integrated circuits, off the shelf ASICS and software, hereinafter referred to as “audio decoders”, configured to decode and play audio streams, such as MP2 and/or MP3 (more compressed audio stream standard) that are used, or may be used, to play DAB streams but are not optimized to play DAB streams. These audio decoders are blind to data in DAB-CRC 120 and as a result cannot and do not utilize data in DAB-CRC for detecting and concealing or repairing scale factor errors indicated by DAB-CRC.